//---------------------------------------------------------------------------

#ifndef HabitacionH
#define HabitacionH
#include "Objetos3D.h"
#include "Malla.h"
#include "Paredes.h"
#include "persona.h"
#include "Lista.h"
#include "convexo.h"
#include "pelota.h"
#include "Tierra.h"
//---------------------------------------------------------------------------
class Habitacion: public ObjetoCompuesto3D{

           public:
                Habitacion();
               
                void cerrarPuerta(GLfloat angulo);
                void desplegarPersiana(){blind->desplegar();};
                void girarPersiana(GLfloat ang){blind->giraPersiana(ang);};
                void recogerPersiana(){blind->recoger();};
                void muevePersona(PV *dir);
                void rotaPersona(GLfloat angulo);
                TAfin * afin_lampara,
                        *afin_mesa,
                        *afin_estanteria,
                        *afin_tierra,
                        *afin_gepeto;

                bool choque(PV * dir);

                void desplazarObjetos(TAfin *obj,PV* desp);
                void rotarObjetos(TAfin *obj,PV * rot);
                void escalarObjetos(TAfin *obj, PV* sc);


           private:
                Puerta * door;
                Persiana * blind;
                Persona * person;
                Lista<Poligono> * poligonos;
                Pelota *pelota;
                

};
#endif
 